Python Hints
ابزار جدیدی از astral اومده به اسم uv جاگزینی خواهد بود برای pip, poetry, ... البته درحال حاضر خیلی خام هست ولی بطور خیره کنندهای سرعت بالایی داره حتما یک سری بهش بزنید. uv: Python packaging in Rust پ.ن: از cache یک سری پکیج هوش مصنوعی نصب کردم 0.35sec…
یکی از پروژهها رو جابجا کردیم و اینطوری شد که:
بجای
بجای
ی مقدار قبلتر هم که همگی روی
دیگه یکی از هم تیمیها پیشنهاد داد یعنی یه
که سوییچ کردیم روی این مورد (البته قبلش کلی تست زمان
اگر شما هم میخواید تستش کنید؛ من دستورات مهمش رو میذارم برای شروع برید سراغش باقی موارد هم که داکیومنت خودش هست :
برای پروژههای غیر
الان تنها مورد کند پروژهای که صحبتش شد
ty github
بجای
docker
از podman
استفاده بشه بجای
docker swarm, docker stack, ...
هم از k8s
استفاده بشهی مقدار قبلتر هم که همگی روی
ruff
و mypy
رفته بودیم و pre-commit
رو اینطوری تنظیم کردیم.دیگه یکی از هم تیمیها پیشنهاد داد یعنی یه
uv
مون نشه ؟که سوییچ کردیم روی این مورد (البته قبلش کلی تست زمان
build, ...
ازش گرفتیم) دیدیم علاوه بر اینکه تایم بیلد رو آورد پایینتر (حتی تو بیلدهای اپتیمایز خودم) کار کردن باهاش هم نسبت به ورژنهای قبلی خیلی بهتر و راحتتر شده.اگر شما هم میخواید تستش کنید؛ من دستورات مهمش رو میذارم برای شروع برید سراغش باقی موارد هم که داکیومنت خودش هست :
uv python list
لیست از تمام ورژنهای پایتون قابل نصب رو نشون میده؛ cpython, pypy رو داره.
uv python install 3.11 3.12 3.13 3.14
تمام ورژنهای پایتون که بهشون اشاره شده رو نصب میکنه (حدود ۳۰-۳۵ مگ هست هر کدوم) دیفالت cpython نصب میشه.
uv init <dir_name>
این دستور پوشه <dir_name> رو براتون میسازه به همراه git, python version, readme, main, pyproject
uv init <dir_name> --lib
اگر خواستید پکیج برای انتشار بنویسید.
uv init
اگر مثل ما پروژه از قبل با مثلا pip ایجاد شده و میخواید بیاید روی uv داخل پوشه پروژه اجراش کنید.
uv add dajngo
پکیج django رو میخوام به پروژه اضافه کنم؛ حتی اگر .venv نساخته باشید این دستور بصورت پیشفرض اینکار رو براتون میکنه؛ که اشتباها روی python سیستم چیزی نصب نکنید.
uv tree
نمایش درختی معادل pip freeze هست.
uv run main.py
برای اجرا استفاده میشه (حتی اگر .venv رو پاک کرده باشید درجا ایجاد میکنه پکیجهارو نصب میکنه و بعد اجرا میکنه که اگر cache رو پاک نکرده باشید در حد میلی ثانیه زمان میبره)
uv venv --python 3.11.11
برای اینکه دقیقا از همین ورژن پایتون استفاده بشه (کلا توی همه کامندها میتونید از --python برای مشخص کردن ورژن دقیق استفاده کنید)
این دستور بهترین دستور برای بچههایی هست که در زمینه AI تحقیق و کار میکنند.
uv sync
فقط .venv رو ایجاد و پکیجها رو نصب میکنه (همه چیز آماده)
uv remove dajngo
برای حذف استفاده میشه.
uv add -r requirements.txt
جهت انتقال از pip به uv
uvx ruff
جایگزین عالی برای pipx
uv tool run ruff check
بدون اینکه ruff رو روی کل سیستم نصب کنید میتونید اجرا کنید
نکته این هست که uvx , uv tool دستورات یکسان هست و دستور بالا اینو میگه که نیازی نیست ابزار رو روی کل سیستم نصب کنی میتونی درجا اجرا و استفاده کنی؛ pipx اینو نداره که خیلی هم کاربردی هست.
uv self update
در نهایت برای آپدیت خود uv ازش استفاده کنید.
برای پروژههای غیر
docker
و شخصی هم خیلی خوبه چون disk کمتری مصرف میکنه (دوستان AI
میدونند توی هر پروژه ورژن متفاوت pytorch
و ... داشتن چقدر جا میگیره) یا حتی یک ورژن یکسان رو هی روی venv
جدا نصب کردن. که uv
اینکارو نمیکنه و به همون نسخهای که دارید symlink
میزنه. (بصورت دیفالت hardlink
میزنه؛ دوستان اشاره کردند)الان تنها مورد کند پروژهای که صحبتش شد
mypy
هست که خب منتظریم ببینیم ty
وضعیتش به کجا خواهد رسید بخصوص اینکه LSP
هم هست و یک تیر و دو نشان خواهد بود.ty github
Python Hints
خیلی وقت پیش برای مشکلات دسترسی و تحریم و فیلتر یک پروژه روی گیتهاب معرفی کردم barryfar (عمر اون پست ازین کانال بیشتر بود) مشکلمم اینه که اعتماد ندارم جایی که اطلاعات کارت و ... ام رو داره ترافیکم رو هم داشته باشه. حالا چندروز پیش دوستان گفتن پروژه رو از…
#موقت
این از صبح وصل هست؛
فقط کانفیگ کنید url test رو سمت cloudflare نفرستید کلا اونور بلاک شده و همرو غیرفعال نشون میده
درخواستهارو بفرستید سمت
https://youtube.com
یا
https://gemini.google.com
اگر urltest مثبت گرفتید که وصل هستید؛ مطمئن بشید اینترنت شما روی سایتهای ایرانی جواب میده و البته سرعت دانلود نرمالی دارید.
این از صبح وصل هست؛
فقط کانفیگ کنید url test رو سمت cloudflare نفرستید کلا اونور بلاک شده و همرو غیرفعال نشون میده
درخواستهارو بفرستید سمت
https://youtube.com
یا
https://gemini.google.com
اگر urltest مثبت گرفتید که وصل هستید؛ مطمئن بشید اینترنت شما روی سایتهای ایرانی جواب میده و البته سرعت دانلود نرمالی دارید.
Youtube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.